package com.tencent.bk.sdk.iam.service;

import com.tencent.bk.sdk.iam.dto.ExpressionWithResourceDTO;
import com.tencent.bk.sdk.iam.dto.action.ActionDTO;
import com.tencent.bk.sdk.iam.dto.action.ActionPolicyDTO;
import com.tencent.bk.sdk.iam.dto.expression.ExpressionDTO;
import com.tencent.bk.sdk.iam.dto.resource.ResourceDTO;

import java.util.List;

public interface PolicyService {

    ExpressionDTO getPolicyByAction(String username, ActionDTO action, List<ResourceDTO> resourceList);

    ExpressionDTO getPolicyByActionForExtend(String username, ActionDTO action, List<ResourceDTO> resourceList);

    List<ActionPolicyDTO> batchGetPolicyByActionList(String username, List<ActionDTO> actionList, List<ResourceDTO> resourceList);

    ExpressionWithResourceDTO batchGetPolicyAndAttribute(String username, ActionDTO action, ResourceDTO selfResource, List<ResourceDTO> dependencyResource);
}
